﻿namespace DomainServices.Tools
{
    using System;
    using System.Collections.Generic;

    public interface ICodeGenerationHost : ILogger
    {
        CodeMemberShareKind GetMethodShareKind(string typeName, string methodName, IEnumerable<string> parameterTypeNames);
        CodeMemberShareKind GetPropertyShareKind(string typeName, string propertyName);
        CodeMemberShareKind GetTypeShareKind(string typeName);
        void LogError(string message, string subcategory, string errorCode, string helpKeyword, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber);
        void LogWarning(string message, string subcategory, string errorCode, string helpKeyword, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber);
    }
}

